home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 31
/
Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso
/
Aminet
/
mus
/
midi
/
XGToolset5_src.lha
/
XGToolset_src
/
myheader.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-02
|
3KB
|
94 lines
/*
myheader.h - Useful #defines and typedefs for tool/accessory programs.
*/
#ifndef MYHEADER_H
#define MYHEADER_H
/* Length of tool/accessory id. */
#define ID_LEN 4
/* Make an id out of four characters. */
#define MAKE_ID(a, b, c, d) ((ULONG) ((((a << 8) + b << 8) + c << 8) + d))
/* Make an id out of a string. */
#define MAKE_IDS(s) (MAKE_ID(s[0], s[1], s[2], s[3]))
/* Split an id into four characters. */
#define SPLIT_ID(id, a, b, c, d) \
do { \
a = (UBYTE) ((id >> 24) & 0xff); \
b = (UBYTE) ((id >> 16) & 0xff); \
c = (UBYTE) ((id >> 8) & 0xff); \
d = (UBYTE) (id & 0xff); \
} while (0)
/* Split an id into a string. */
#define SPLIT_IDS(id, s) \
do { \
SPLIT_ID(id, s[0], s[1], s[2], s[3]); \
} while (0)
/* Maximum MIDI note # */
#define MIDI_NOTE_MAX (127)
/* Number of MIDI notes. */
#define MIDI_NOTE_NUM (MIDI_NOTE_MAX + 1)
/* Maximum program change number. */
#define PC_CHANGE_MAX 127
/* Number of program changes. */
#define PC_CHANGE_NUM (PC_CHANGE_MAX + 1)
/* Maximum CC value. */
#define CC_VALUE_MAX 127
/* Number of CC values. */
#define CC_VALUE_NUM (CC_VALUE_MAX + 1)
/* Flags for use in the BRB file requester. */
#define FILES_DELETE 1 /* Delete button */
#define FILES_OPEN 2 /* Open button */
#define FILES_SAVE 4 /* Save button */
#define FILES_TEST 8 /* ??? */
#define FILES_TYPE 16 /* Type string gadget */
#define FILES_PATH 32 /* Path string gadget */
/* Initial placement of tool/accessory windows. */
#define INITIAL_LEFT 50
#define INITIAL_TOP 50
/* Unprototyping cast. */
typedef long (*no_prototype)();
/* Void cast. */
typedef void (*void_prototype)();
/* Event *cast. */
typedef struct Event *(*event_prototype)();
/* For non-stdio debugging messages. */
#define DEBUG(message) \
do { \
struct EasyStruct es = { \
sizeof(struct EasyStruct), \
0, \
"Debugging information", \
"Message: %s", \
"OK" \
}; \
(void) EasyRequest(functions->window, &es, 0, message); \
} while (0)
#define NOTE_LENGTH(x) (768 >> (x))
#define MBC_STRING_LENGTH 12
#define CLOCKSPERMEASURE 768L
#define STREQ(x, y) (strcmp((x), (y)) == 0)
#define STREQN(x, y, n) (strncmp((x), (y), (n)) == 0)
#endif /* MYHEADER_H */